package ming.util.base;

import java.util.Properties;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;

import com.ming.sps.server.utils.MingUtil;

/**
 * 
 * @Title: JdbcDecryptPropertiesFile.Java   
 * @Package com.xxx.common.util   
 * @Description: 重写spring的processProperties方法，以便在使用配置之前解密
 */
public class JdbcDecryptPropertiesFile extends PropertyPlaceholderConfigurer{

	@Override
	protected void processProperties(ConfigurableListableBeanFactory beanFactory, Properties props) throws BeansException{
		//读取配置文件中的密文
	String password = props.getProperty("jdbc_password");
	//避免包之间的依赖
	if(null != password && "" != password && "null" != password){
	//将密文转换为明文
	String decPassword = MingUtil.decrypt(password);
	//将解密后的密码放入property对象中

	props.setProperty("jdbc_password",decPassword);
	}
	super.processProperties(beanFactory,props);
	}

}